package 算法.leetcode.offer;

/**
 * 把一个数组最开始的若干个元素搬到数组的末尾，我们称之为数组的旋转。
 *
 * 给你一个可能存在 重复 元素值的数组 numbers ，它原来是一个升序排列的数组，并按上述情形进行了一次旋转。
 * 请返回旋转数组的最小元素。例如，数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一次旋转，该数组的最小值为1。  
 *
 * 示例 1：
 *
 * 输入：[3,4,5,1,2]
 * 输出：1
 * 示例 2：
 *
 * 输入：[2,2,2,0,1]
 * 输出：0
 *
 * @author lchenglong
 * @date 2022/3/16
 */
public class Offer11 {

    public static void main(String[] args) {
        Offer11 instance = new Offer11();
        int[] array = new int[]{-1,-1,-1};
        int res = instance.minArray(array);
        System.out.println(res);
    }
    public int minArray(int[] numbers) {
        if (numbers.length<=1)return 1;
        int first = numbers[0];
        for (int i=0,len = numbers.length-2;i<=len;i++){
            if (numbers[i+1]<numbers[i]){
                return Math.min(first,numbers[i+1]);
            }
        }
        return first;
    }
}
